package pl.rpr.rozklad;

import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;

class PrzystankiZKierunkowZAutobusowAdapter extends BaseAdapter {
  private KierunekZAutobusu kierunek;
  private Context           context;

  public PrzystankiZKierunkowZAutobusowAdapter(KierunekZAutobusu kierunek, Context con) {
    this.kierunek = kierunek;
    this.context = con;
  }

  public int getCount() {
    if (kierunek.getListaAdresowDoRozkladuPrzystanku().size() == kierunek.getListaNazwPrzystankow().size())
      return kierunek.getListaAdresowDoRozkladuPrzystanku().size();
    else
      return 0;
  }

  public Object getItem(int position) {
    return kierunek.getListaNazwPrzystankow().get(position);
  }

  public long getItemId(int position) {
    return 0;
  }

  public View getView(int position, View convertView, ViewGroup parent) {
    String przystanek = kierunek.getListaNazwPrzystankow().get(position);
    String adres = kierunek.getListaAdresowDoRozkladuPrzystanku().get(position);
    if (convertView == null) {
      convertView = LayoutInflater.from(context).inflate(R.layout.przystanki_z_kierunkow_z_autobusow, parent, false);
    }

    TextView przystanekTV = (TextView) convertView.findViewById(R.id.przystanekA5);
    przystanekTV.setText(przystanek);

    TextView adresTV = (TextView) convertView.findViewById(R.id.adresA5);
    adresTV.setText(adres);

    return convertView;
  }

}

public class PrzystankiZKierunkowZAutobusow extends ListActivity implements CONST {
  private String adresDanegoAutobusu;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    new Polaczenie(this).sprawdzPolaczenie();

    KierunekZAutobusu kierunek = (KierunekZAutobusu) getIntent().getExtras().getSerializable("kierunek");
    adresDanegoAutobusu = (String) getIntent().getExtras().getSerializable("adresDanegoAutobusu");

    ListAdapter adapter = new PrzystankiZKierunkowZAutobusowAdapter(kierunek, this);
    getListView().setAdapter(adapter);
  }

  @Override
  protected void onListItemClick(ListView parent, View view, int position, long id) {
    super.onListItemClick(parent, view, position, id);
    Intent intent = new Intent(view.getContext(), RozkladZPrzystankowZKierunkowZAutobusow.class);
    TextView adresTV = (TextView) view.findViewById(R.id.adresA5);
    String adres = adresTV.getText().toString();
    intent.putExtra("adresRozkladu", ADRES_ROZKLADOW + adresDanegoAutobusu + adres);
    startActivity(intent);
  }

  @Override
  protected void onResume() {
    super.onResume();
    new Polaczenie(this).sprawdzPolaczenie();
  }

  @Override
  protected void onRestart() {
    super.onRestart();
    new Polaczenie(this).sprawdzPolaczenie();
  }
}
